Doris 备份 | 还原 操作流程
Doris 备份 | 还原 操作流程说明。
在备份 Doris 集群进行以下操作
创建远程仓库(需要 Doris root 权限)
1 | CREATE REPOSITORY hdfs_repo |
全量备份
备份 database 所有表
向 hdfs_repo 远程仓库全量备份 databaseName 库的所有表,HDFS 快照名为 snapshot_databaseName
1 | BACKUP SNAPSHOT databaseName.snapshot_databaseName |
备份 database 部分表
向 hdfs_repo 远程仓库全量备份 databaseName 库的 table1, table2, table3 表,HDFS 快照名为 snapshot_databaseName
1 | BACKUP SNAPSHOT databaseName.snapshot_databaseName |
Tips
只能对 OLAP 类型的表进行备份
备份的最大粒度是 database,最小粒度是 partition,所以有多少个 database 就需要备份多少个 snapshot
PROPERTIES 目前支持以下属性:
1
2 "type" = "full" 表示这是一次全量更新(默认)。
"timeout" = "3600" 任务超时时间,默认为一天,单位秒。通过以下命令查看备份状态
1 SHOW BACKUP;![]()
备份状态包括以下几种
1
2
3
4
5
6
7
8 PENDING:作业初始状态。
SNAPSHOTING:正在进行快照操作。
UPLOAD_SNAPSHOT:快照结束,准备上传。
UPLOADING:正在上传快照。
SAVE_META:正在本地生成元数据文件。
UPLOAD_INFO:上传元数据文件和本次备份作业的信息。
FINISHED:备份完成。
CANCELLED:备份失败或被取消。
在还原 Doris 集群进行以下操作
创建远程仓库(需要 Doris root 权限)
1 | CREATE REPOSITORY hdfs_repo |
手动创建需要还原的 database
1 | create database databaseName; |
全量还原
还原 database 所有表
从 hdfs_repo 远程仓库全量还原 databaseName 库的所有表,HDFS 快照名为 snapshot_databaseName
1 | RESTORE SNAPSHOT databaseName.snapshot_databaseName |
还原 database 部分表
从 hdfs_repo 远程仓库全量还原 databaseName 库的 table1, table2, table3 表,HDFS 快照名为 snapshot_databaseName
1 | RESTORE SNAPSHOT databaseName.snapshot_databaseName |
Tips
“backup_timestamp”=”2022-04-03-12-54-57” 指定了恢复对应备份的哪个时间版本 <必填>
可以通过以下命令查看确认:
1 SHOW SNAPSHOT ON hdfs_repo;![]()
“replication_num” = “1” 指定恢复的表或分区的副本数。默认为 3
通过以下命令查看还原状态
1 SHOW RESTORE;![]()
还原状态包括以下几种
1
2
3
4
5
6
7
8
9 State:恢复作业当前所在阶段:
PENDING:作业初始状态。
SNAPSHOTING:正在进行本地新建表的快照操作。
DOWNLOAD:正在发送下载快照任务。
DOWNLOADING:快照正在下载。
COMMIT:准备生效已下载的快照。
COMMITTING:正在生效已下载的快照。
FINISHED:恢复完成。
CANCELLED:恢复失败或被取消。
备份还原常用命令
查看 BACKUP 作业的执行情况。
1
2use databaseName;
SHOW BACKUP;查看 RESTORE 作业的执行情况。
1
2use databaseName;
SHOW RESTORE;取消正在执行的备份作业。
1
2use databaseName;
CANCEL BACKUP;取消正在执行的恢复作业。
1
2use databaseName;
CANCEL RESTORE;删除已创建的远端仓库。删除仓库,只删除该仓库在 Doris 中的映射,不会删除实际 HDFS 仓库中的数据。
1
2use databaseName;
DROP REPOSITORY;查看远程仓库上的快照信息。
1
SHOW SNAPSHOT ON repositoryName;